home *** CD-ROM | disk | FTP | other *** search
-
-
-
- KKKKEEEERRRRNNNNPPPPRRRROOOOFFFF((((1111)))) KKKKEEEERRRRNNNNPPPPRRRROOOOFFFF((((1111))))
-
-
-
- NNNNAAAAMMMMEEEE
- kernprof - special executable for SpeedShop performance measurements on
- the unix kernel
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ssssssssrrrruuuunnnn -_e_x_p_e_r_i_m_e_n_t kkkkeeeerrrrnnnnpppprrrrooooffff [ _e_x_p_e_r_i_m_e_n_t-_o_p_t_i_o_n_s ]
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The _k_e_r_n_p_r_o_f executable allows kernel profiling information to be
- gathered. To use it, use the _s_s_r_u_n(1) command on the _k_e_r_n_p_r_o_f
- executable, specifying any of the experiments that are supported for the
- kernel. These experiments will generate a SpeedShop experiment named
- kernprof.<experiment-type>.<pid>.
-
- The experiments describe themselves as being run on the program "/unix",
- and _p_r_o_f(1) can be used to process the data; the filename of the actual
- kernel for which the data was collected must to be explicitly passed as a
- command-line argument to _p_r_o_f.
-
- In the current release, the only supported experiment is uuuusssseeeerrrrttttiiiimmmmeeee.
- Additionally, only systems running IRIX 6.4 or later may be profiled in
- this manner. See _p_r_o_f_i_l_e_r(1M) for a description of a PC-style profiling
- which is supported on all versions of IRIX.
-
- UUUUSSSSEEEERRRRTTTTIIIIMMMMEEEE ---- CCCCAAAALLLLLLLLSSSSTTTTAAAACCCCKKKK PPPPRRRROOOOFFFFIIIILLLLIIIINNNNGGGG
- uuuusssseeeerrrrttttiiiimmmmeeee experiments may be run on the machine being profiled or any
- machine that can be reached via the network. Additionally, the kernel on
- the machine being profiled must have its symbol table loaded via _p_r_f_l_d(1)
- and have stack profiling enabled via _p_r_f_s_t_a_t(1). Finally, the _r_t_m_o_n_d(1M)
- daemon must be running on the target machine in order for the uuuusssseeeerrrrttttiiiimmmmeeee
- data to be collected (_r_t_m_o_n_d may be run either by _c_h_k_c_o_n_f_i_g(1M)'ing it on
- or by running it manually as root):
-
- On the machine (_a_l_p_h_a) being profiled:
-
- alpha# pppprrrrfffflllldddd <<<<kkkkeeeerrrrnnnneeeellll----ffffiiiilllleeee>>>>
- alpha# pppprrrrffffssssttttaaaatttt ssssttttaaaacccckkkk
- alpha# ////uuuussssrrrr////eeeettttcccc////rrrrttttmmmmoooonnnndddd
-
-
- On the machine (_b_e_t_a) where kernel usertime data is being collected:
-
- beta% ssssssssrrrruuuunnnn ----uuuusssseeeerrrrttttiiiimmmmeeee ////uuuussssrrrr////bbbbiiiinnnn////kkkkeeeerrrrnnnnpppprrrrooooffff ----tttt 5555 ----pppp 0000 aaaallllpppphhhhaaaa
- beta% pppprrrrooooffff ----ggggpppprrrrooooffff <<<<kkkkeeeerrrrnnnneeeellll----ffffiiiilllleeee>>>> kkkkeeeerrrrnnnnpppprrrrooooffff....uuuusssseeeerrrrttttiiiimmmmeeee....<<<<ppppiiiidddd>>>>....ccccppppuuuu0000
-
-
- The above example loads the symbol table of the kernel into the kernel
- running on machine _a_l_p_h_a, enables stack profiling, and starts up _r_t_m_o_n_d
- (assuming that it wasn't _c_h_k_c_o_n_f_i_g'ed on). On machine _b_e_t_a the _k_e_r_n_p_r_o_f
- executable is used to collect 5 seconds worth of data from CPU 0 on
- machine _a_l_p_h_a. Once the data is collected _p_r_o_f(1) is used to analyze and
- display the results.
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- KKKKEEEERRRRNNNNPPPPRRRROOOOFFFF((((1111)))) KKKKEEEERRRRNNNNPPPPRRRROOOOFFFF((((1111))))
-
-
-
- The command-line options needed to run kernel _u_s_e_r_t_i_m_e profiling are:
-
- ----cccc _c_o_u_n_t
- Specifies that _c_o_u_n_t stack samples should be collected for each CPU
- being profiled. Since stack samples are generated once a
- millisecond, this corresponds to about _c_o_u_n_t/1000 seconds ...
-
- ----pppp _c_p_u-_l_i_s_t
- Specifies which CPUs are to be profiled. The syntax of _c_p_u-_l_i_s_t is
- a series of comma separated CPU specifications. Each specification
- is either a single CPU number or a range of CPU numbers separated by
- a hyphen (-) with CPU numbers being counted from 0. E.g. ``-p 0-
- 3,7'' specifies that CPUs 0 through 3 and CPU 7 should be profiled.
-
- ----ssss _s_c_h_e_d_p_r_i
- Specifies that _k_e_r_n_p_r_o_f should run at real-time priority _s_c_h_e_d_p_r_i.
- A value of 0000 will result in normal time-sharing priority. By
- default _k_e_r_n_p_r_o_f runs at the same priority as _r_t_m_o_n_d. If _k_e_r_n_p_r_o_f
- is run by someone other the super user, the attempt to set real-time
- priority scheduling will result in a harmless warning.
-
- ----tttt _t_i_m_e_o_u_t
- Specifies that stack samples should be collected for _t_i_m_e_o_u_t
- seconds.
-
- _h_o_s_t_n_a_m_e
- Specifies the host to collect data from. The default is llllooooccccaaaallllhhhhoooosssstttt.
-
- ----ffff _r_t_m_o_n-_f_i_l_e ... Specifies one or more raw rrrrttttmmmmoooonnnn data
- files to be copied to equivalent SpeedShop format files (see _r_t_m_o_n-
- _c_l_i_e_n_t(1)). This option may not be used with the ----pppp _c_p_u-_l_i_s_t or ----tttt
- _t_i_m_e_o_u_t options. If the ----cccc _c_o_u_n_t option is specified, only the
- first _c_o_u_n_t stack samples will be translated.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- speedshop(1), ssrun(1), prof(1), profiler(1), rtmond(1M), rtmon-client(1)
-
- NNNNOOOOTTTTEEEESSSS
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
-